/**
 * 全局样式和主题定义
 */

// 导入变量文件
@forward './variables.scss';
// 导入Element Plus样式覆盖文件
@forward './element.scss';
// 导入通用布局样式文件
@forward './common-layout.scss';
// 导入组件样式
@forward './components/action-buttons.scss';

// 全局变量
:root {
  /* 主色调 - 蓝色（默认） */
  --primary-color: #0165FF; 
  --primary-color-rgb: 1, 101, 255;
  
  /* 功能色 */
  --success-color: #67c23a; // 成功色
  --warning-color: #e6a23c; // 警告色
  --danger-color: #f56c6c;  // 危险色
  --info-color: #909399;    // 信息色
  
  /* 文本颜色 */
  --text-color: #303133;           // 主要文本颜色
  --text-color-secondary: #606266; // 次要文本颜色
  --text-color-placeholder: #909399; // 占位文本颜色
  
  /* 边框和背景 */
  --border-color: #dcdfe6;     // 边框颜色
  --background-color: #f5f7fa; // 背景色
  
  /* 布局尺寸 */
  --sidebar-width: 200px;    // 侧边栏宽度
  --header-height: 60px;     // 顶部导航高度
  
  /* 区域颜色 */
  --sidebar-bg-color: #001428; // 侧边栏背景色
  --header-bg-color: #ffffff;  // 顶部导航背景色
}

// 红色主题
[data-theme="red"] {
  --primary-color: #e84749;
  --primary-color-rgb: 232, 71, 73;
  --sidebar-bg-color: #4d1315; // 深红色侧边栏
  --primary-color-light: rgba(232, 71, 73, 0.1);
  --primary-color-lighter: rgba(232, 71, 73, 0.05);
}

// 深蓝色主题
[data-theme="navy"] {
  --primary-color: #0c2b54;
  --primary-color-rgb: 12, 43, 84;
  --sidebar-bg-color: #051a34; // 深蓝黑色侧边栏
  --primary-color-light: rgba(12, 43, 84, 0.1);
  --primary-color-lighter: rgba(12, 43, 84, 0.05);
}

// 蓝色主题（默认）
[data-theme="blue"] {
  --primary-color: #0165FF;
  --primary-color-rgb: 1, 101, 255;
  --sidebar-bg-color: #ffffff; // 白色侧边栏
  --primary-color-light: rgba(1, 101, 255, 0.1);
  --primary-color-lighter: rgba(1, 101, 255, 0.05);
}

// 浅蓝色主题
[data-theme="light-blue"] {
  --primary-color: #62a7ff;
  --primary-color-rgb: 98, 167, 255;
  --sidebar-bg-color: #1a4980; // 浅蓝色侧边栏
  --primary-color-light: rgba(98, 167, 255, 0.1);
  --primary-color-lighter: rgba(98, 167, 255, 0.05);
}

// 青色主题
[data-theme="cyan"] {
  --primary-color: #14c0c0;
  --primary-color-rgb: 20, 192, 192;
  --sidebar-bg-color: #0a4747; // 深青色侧边栏
  --primary-color-light: rgba(20, 192, 192, 0.1);
  --primary-color-lighter: rgba(20, 192, 192, 0.05);
}

// 绿色主题
[data-theme="green"] {
  --primary-color: #67c23a;
  --primary-color-rgb: 103, 194, 58;
  --sidebar-bg-color: #2a4f19; // 深绿色侧边栏
  --primary-color-light: rgba(103, 194, 58, 0.1);
  --primary-color-lighter: rgba(103, 194, 58, 0.05);
}

/**
 * 全局Element Plus样式覆盖
 */

/* 按钮样式 */
.el-button {
  &--primary {
    --el-button-bg-color: var(--primary-color);
    --el-button-border-color: var(--primary-color);
    --el-button-hover-bg-color: rgba(var(--primary-color-rgb), 0.8);
    --el-button-hover-border-color: rgba(var(--primary-color-rgb), 0.8);
    --el-button-active-bg-color: rgba(var(--primary-color-rgb), 0.9);
    --el-button-active-border-color: rgba(var(--primary-color-rgb), 0.9);
  }
}

/* 确保所有主题色按钮的文字颜色为白色 */
.el-button--primary,
.el-button--success,
.el-button--warning,
.el-button--danger,
.el-button--info {
  &:not(.is-link):not(.is-text):not(.is-plain) {
    color: #ffffff !important;
  }
}

/* 强制对话框确认按钮文字为白色 */
.dialog-footer .confirm-btn,
.dialog-footer .el-button--primary,
.dialog-footer .el-button--success,
.dialog-footer .el-button--warning,
.dialog-footer .el-button--danger,
.dialog-footer .el-button--info {
  &:not(.is-link):not(.is-text):not(.is-plain) {
    color: #ffffff !important;
    
    .el-icon {
      color: #ffffff !important;
    }
  }
}

/* 按钮链接样式 */
.el-button--primary.is-link {
  --el-button-text-color: var(--primary-color) !important;
  --el-button-hover-text-color: rgba(var(--primary-color-rgb), 0.8) !important;
  --el-button-active-text-color: rgba(var(--primary-color-rgb), 0.9) !important;
}

/* 修复链接按钮文字颜色问题 */
.el-button.is-link.el-button--primary {
  color: var(--primary-color) !important;
}

.el-button.is-link.el-button--success {
  color: var(--success-color) !important;
}

.el-button.is-link.el-button--danger {
  color: var(--danger-color) !important;
}

/* 红色主题按钮链接样式 */
[data-theme="red"] .el-button--danger.is-link {
  --el-button-text-color: var(--danger-color) !important;
  --el-button-hover-text-color: #f78989 !important;
  --el-button-active-text-color: #f56c6c !important;
}

/* 绿色主题按钮链接样式 */
[data-theme="green"] .el-button--success.is-link {
  --el-button-text-color: var(--success-color) !important;
  --el-button-hover-text-color: #85ce61 !important;
  --el-button-active-text-color: #67c23a !important;
}

/* 表单相关组件主题色匹配 */

/* 复选框样式 */
.el-checkbox {
  &__input.is-checked .el-checkbox__inner {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
  }

  &__input.is-focus .el-checkbox__inner {
    border-color: var(--primary-color);
  }
}

.el-checkbox__input.is-checked + .el-checkbox__label {
  color: var(--primary-color) !important;
}

/* 单选框样式 */
.el-radio {
  &__input.is-checked .el-radio__inner {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
  }

  &__input.is-focus .el-radio__inner {
    border-color: var(--primary-color);
  }
  
  &__label {
    &.is-checked {
      color: var(--primary-color);
    }
  }
}

/* 开关样式 */
.el-switch.is-checked .el-switch__core {
  border-color: var(--primary-color) !important;
  background-color: var(--primary-color) !important;
}

/* 输入框聚焦样式 */
.el-input {
  &.is-focus .el-input__wrapper {
    box-shadow: 0 0 0 1px var(--primary-color) inset !important;
  }
}

/* 选择器样式 - 修复聚焦和文字颜色问题 */
.el-select {
  .el-input {
    &.is-focus .el-input__wrapper {
      box-shadow: 0 0 0 1px var(--primary-color) inset !important;
    }
  }
  
  .el-select-dropdown__item {
    &.selected, &.hover, &:hover {
      color: var(--primary-color);
      font-weight: bold;
      background-color: rgba(var(--primary-color-rgb), 0.1);
    }
  }
}

/* 选择器聚焦时的输入框文字和图标颜色 */
.el-select .el-input.is-focus .el-input__inner {
  color: var(--primary-color) !important;
}

.el-select .el-input.is-focus .el-input__suffix-inner .el-select__caret {
  color: var(--primary-color) !important;
}

/* 选择器下拉项样式 */
.el-select-dropdown__item.selected {
  color: var(--primary-color) !important;
  font-weight: bold;
  background-color: rgba(var(--primary-color-rgb), 0.1) !important;
}

/* 选择器下拉项悬停样式 */
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
  background-color: rgba(var(--primary-color-rgb), 0.05) !important;
}

/* 选择器多选标签样式 */
.el-select .el-select__tags .el-tag {
  background-color: rgba(var(--primary-color-rgb), 0.1) !important;
  border-color: rgba(var(--primary-color-rgb), 0.2) !important;
  color: var(--primary-color) !important;
}

/* 让选择器弹出层箭头颜色也跟随主题 */
.el-popper.is-light .el-popper__arrow::before {
  background-color: white;
  border-color: var(--primary-color) !important;
  border-width: 0 !important;
}

/* 增强下拉选择器箭头颜色 */
.el-select:hover .el-input__wrapper:not(.is-focus) .el-select__caret {
  color: var(--text-color-secondary) !important;
}

.el-select .el-input.is-focus .el-select__caret {
  color: var(--primary-color) !important;
}

/* 选择器清除按钮 */
.el-select .el-input__wrapper .el-select__caret.is-show-close:hover {
  color: var(--primary-color) !important;
}

/* 覆盖Element Plus的默认变量 */
:root {
  --el-color-primary: var(--primary-color) !important;
  --el-color-primary-light-3: rgba(var(--primary-color-rgb), 0.8) !important;
  --el-color-primary-light-5: rgba(var(--primary-color-rgb), 0.6) !important;
  --el-color-primary-light-7: rgba(var(--primary-color-rgb), 0.4) !important;
  --el-color-primary-light-8: rgba(var(--primary-color-rgb), 0.2) !important;
  --el-color-primary-light-9: rgba(var(--primary-color-rgb), 0.1) !important;
  --el-color-primary-dark-2: rgba(var(--primary-color-rgb), 0.9) !important;
}

/* 直接覆盖El-Select的重要样式 */
.el-input.is-focus .el-input__wrapper {
  box-shadow: 0 0 0 1px var(--primary-color) inset !important;
}

/* 选择器标签 */
.el-select .el-select__tags .el-tag {
  background-color: rgba(var(--primary-color-rgb), 0.1) !important;
  border-color: rgba(var(--primary-color-rgb), 0.2) !important;
  color: var(--primary-color) !important;
}

/* 选择器标签关闭按钮 */
.el-select .el-select__tags .el-tag__close:hover {
  background-color: var(--primary-color) !important;
  color: #ffffff !important;
}

/* 日期选择器样式 */
.el-date-table td.current:not(.disabled) .el-date-table-cell__text,
.el-date-table td.today:not(.disabled) .el-date-table-cell__text {
  color: #ffffff !important;
  background-color: var(--primary-color) !important;
}

.el-date-picker__header-label:hover,
.el-date-picker__icon-btn:hover {
  color: var(--primary-color) !important;
}

.el-date-table td.available:hover .el-date-table-cell__text {
  color: var(--primary-color) !important;
}

/* 时间选择器样式 */
.el-time-spinner__item.active:not(.disabled) {
  color: var(--primary-color) !important;
  font-weight: bold;
}

/* 标签样式 */
.el-tag--primary {
  background-color: rgba(var(--primary-color-rgb), 0.1) !important;
  border-color: rgba(var(--primary-color-rgb), 0.2) !important;
  color: var(--primary-color) !important;
}

/* 左侧菜单项样式 */
.el-menu-item {
  position: relative; /* 用于伪元素定位 */
  
  &.is-active {
    color: var(--primary-color) !important;
    background-color: rgba(var(--primary-color-rgb), 0.1) !important;
    
    /* 左侧色块 */
    &::before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      width: 3px;
      height: 100%;
      background-color: var(--primary-color);
    }
  }
}

/* 蓝色主题下的活跃菜单项 */
[data-theme="blue"] .el-menu-item.is-active {
  color: #0165FF !important;
  background-color: #f3f9ff !important;
  
  /* 左侧色块 */
  &::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background-color: var(--primary-color);
  }
}

/* 标签页样式 */
.el-tabs {
  .el-tabs__item {
    &.is-active, &:hover {
      color: var(--primary-color);
    }
  }
  
  .el-tabs__active-bar {
    background-color: var(--primary-color);
  }
}

.el-tabs__item:hover {
  color: var(--primary-color) !important;
}

/* 步骤条样式 */
.el-step__title.is-process {
  color: var(--primary-color) !important;
  font-weight: bold;
}

.el-step__head.is-process {
  color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

.el-step__head.is-process .el-step__icon.is-text {
  border-color: var(--primary-color) !important;
  color: #ffffff !important;
  background-color: var(--primary-color) !important;
}

/* 上传组件样式 */
.el-upload:hover {
  color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

.el-upload-list__item .el-icon-close:hover {
  color: var(--primary-color) !important;
  background-color: rgba(var(--primary-color-rgb), 0.1) !important;
}

/* 滑块样式 */
.el-slider__bar {
  background-color: var(--primary-color) !important;
}

.el-slider__button {
  border-color: var(--primary-color) !important;
}

/* 级联选择器样式 */
.el-cascader-node.in-active-path, 
.el-cascader-node.is-active, 
.el-cascader-node.is-selectable.in-checked-path {
  color: var(--primary-color) !important;
}

/* 增强级联选择器主题色支持 */
.el-cascader-node:not(.is-disabled):hover {
  background-color: rgba(var(--primary-color-rgb), 0.1) !important;
}

.el-cascader-node.in-active-path, 
.el-cascader-node.is-active, 
.el-cascader-node.is-selectable.in-checked-path {
  color: var(--primary-color) !important;
  font-weight: bold;
}

.el-cascader__dropdown.el-popper[role=tooltip] {
  .el-cascader-panel .el-radio {
    width: 100%;
    height: 100%;
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
  }

  .el-cascader-panel .el-radio__input {
    visibility: hidden;
  }

  .el-cascader-panel .el-cascader-node__postfix {
    top: 10px;
  }
}

.el-cascader__dropdown.el-popper[role=tooltip] .el-cascader-panel .el-radio__input.is-checked + .el-radio__label {
  color: var(--primary-color) !important;
}

/* 穿梭框(Transfer)主题色支持 */
.el-transfer {
  .el-transfer-panel__header {
    .el-checkbox__input.is-checked .el-checkbox__inner {
      background-color: var(--primary-color) !important;
      border-color: var(--primary-color) !important;
    }
    
    .el-checkbox__input.is-indeterminate .el-checkbox__inner {
      background-color: var(--primary-color) !important;
      border-color: var(--primary-color) !important;
    }
  }
  
  .el-transfer-panel__body .el-checkbox__input.is-checked .el-checkbox__inner {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
  }
  
  .el-transfer__button {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    
    &:hover {
      background-color: rgba(var(--primary-color-rgb), 0.8) !important;
      border-color: rgba(var(--primary-color-rgb), 0.8) !important;
    }
    
    &[disabled] {
      background-color: #f5f7fa !important;
      border-color: #e4e7ed !important;
    }
  }
}

/* 时间选择器主题色支持 */
.el-time-spinner__item.active:not(.disabled) {
  color: var(--primary-color) !important;
  font-weight: bold;
}

.el-time-panel__footer .el-time-panel__btn.confirm {
  color: var(--primary-color) !important;
  
  &:hover {
    color: rgba(var(--primary-color-rgb), 0.8) !important;
  }
}

/* 日期时间选择器面板样式 */
.el-picker-panel__footer .el-button--text {
  color: var(--primary-color) !important;
  
  &:hover {
    color: rgba(var(--primary-color-rgb), 0.8) !important;
  }
}

/* 树形控件主题色支持 */
.el-tree {
  .el-tree-node.is-current > .el-tree-node__content {
    background-color: rgba(var(--primary-color-rgb), 0.1) !important;
    color: var(--primary-color) !important;
  }
  
  .el-tree-node__content:hover {
    background-color: rgba(var(--primary-color-rgb), 0.05) !important;
  }
  
  .el-checkbox__input.is-checked .el-checkbox__inner {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
  }
}

/* 分页器样式 */
.el-pagination.is-background .el-pager li:not(.is-disabled).is-active {
  background-color: var(--primary-color) !important;
}

.el-pagination__sizes .el-select .el-input .el-select__caret,
.el-pagination__jump .el-input__inner {
  color: var(--text-color-secondary) !important;
}

/* 分页器自定义样式 - 边框与文字颜色一致 */
.el-pagination {
  font-weight: normal;
  margin-left: auto;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  .el-pager li {
    min-width: 32px;
    height: 32px;
    line-height: 32px;
    font-size: 13px;
    border: 1px solid #dcdfe6;
    margin: 0 3px;
    color: var(--text-color);
    border-radius: 2px;
    font-weight: normal;
    background-color: #fff;
    
    &:not(.is-disabled).is-active {
      background-color: var(--primary-color);
      border-color: var(--primary-color);
      color: #fff;
    }
    
    &:hover {
      color: var(--primary-color);
      border-color: var(--primary-color);
    }
  }
  
  .btn-prev,
  .btn-next {
    padding: 0;
    background-color: #fff;
    border: 1px solid #dcdfe6;
    border-radius: 2px;
    color: var(--text-color);
    
    &:hover {
      color: var(--primary-color);
      border-color: var(--primary-color);
    }
  }
  
  .btn-prev:disabled,
  .btn-next:disabled,
  .el-pager li.is-disabled {
    border-color: #e4e7ed;
    color: #c0c4cc;
    background-color: #f4f4f5;
  }
  
  .el-pagination__editor.el-input {
    margin: 0 3px;
    width: 50px;
    
    .el-input__wrapper {
      border-radius: 2px;
    }
  }
  
  button {
    min-width: 32px;
    height: 32px;
  }
}

/* nprogress 样式定制 */
#nprogress .bar {
  background: var(--primary-color) !important;
}

#nprogress .spinner-icon {
  border-top-color: var(--primary-color) !important;
  border-left-color: var(--primary-color) !important;
}

/* 全局滚动条样式 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 各主题下的滚动条样式 */
[data-theme="red"] {
  ::-webkit-scrollbar-thumb {
    background: rgba(232, 71, 73, 0.6);
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: rgba(232, 71, 73, 0.8);
  }
}

[data-theme="navy"] {
  ::-webkit-scrollbar-thumb {
    background: rgba(12, 43, 84, 0.6);
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: rgba(12, 43, 84, 0.8);
  }
}

[data-theme="light-blue"] {
  ::-webkit-scrollbar-thumb {
    background: rgba(98, 167, 255, 0.6);
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: rgba(98, 167, 255, 0.8);
  }
}

[data-theme="cyan"] {
  ::-webkit-scrollbar-thumb {
    background: rgba(20, 192, 192, 0.6);
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: rgba(20, 192, 192, 0.8);
  }
}

/* 暗黑模式下的滚动条 */
[data-theme="dark"] {
  ::-webkit-scrollbar-track {
    background: #2c2c2c;
  }
  
  ::-webkit-scrollbar-thumb {
    background: #5c5c5c;
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: #6e6e6e;
  }
}

/* 实用工具类 */
.hover-effect {
  transition: all 0.3s;
  &:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }
}

.card-shadow {
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  background-color: #fff;
  
  /* 暗黑模式下的卡片阴影 */
  [data-theme="dark"] & {
    background-color: #1a1a1a;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.3);
  }
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.text-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 分页容器通用样式 */
.pagination-container {
  margin-left: auto;
  margin-top: 10px;
  text-align: right;
}

/* Element Plus 主题适配 */

/* 暗黑模式下的元素样式适配 */
[data-theme="dark"] {
  /* 下拉菜单 */
  .el-dropdown-menu {
    background-color: #1a1a1a;
    border-color: #333;
  }
  
  .el-dropdown-menu__item {
    color: #e5eaf3;
    
    &:not(.is-disabled):hover {
      background-color: #2a2a2a;
    }
  }
  
  /* 输入框 */
  .el-input__wrapper {
    background-color: #1a1a1a !important;
    box-shadow: 0 0 0 1px #4c4d4f inset !important;
  }
  
  .el-input__inner {
    color: #e5eaf3 !important;
  }
  
  /* 按钮 */
  .el-button {
    &.is-text {
      color: #a3a6ad;
      
      &:hover {
        color: #e5eaf3;
        background-color: rgba(255, 255, 255, 0.05);
      }
    }
  }
  
  /* 卡片 */
  .el-card {
    background-color: #1a1a1a;
    border-color: #333;
    color: #e5eaf3;
    
    .el-card__header {
      border-color: #333;
    }
  }
  
  /* 表格 */
  .el-table {
    background-color: #1a1a1a;
    color: #e5eaf3;
    
    tr {
      background-color: #1a1a1a;
    }
    
    th.el-table__cell {
      background-color: #1f1f1f;
      border-color: #333;
    }
    
    td.el-table__cell {
      border-color: #333;
    }
    
    .el-table__row:hover > td.el-table__cell {
      background-color: #2a2a2a;
    }
  }
  
  /* 分页器 */
  .el-pagination {
    button {
      background-color: #1f1f1f;
      color: #a3a6ad;
      border: 1px solid #4c4d4f;
      border-radius: 2px;
      
      &:hover {
        color: var(--primary-color);
        border-color: var(--primary-color);
      }
    }
    
    .el-pager li {
      background-color: #1f1f1f;
      color: #a3a6ad;
      border: 1px solid #4c4d4f;
      border-radius: 2px;
      font-weight: normal;
      margin: 0 3px;
      
      &.is-active {
        background-color: var(--primary-color);
        color: #fff;
        border-color: var(--primary-color);
      }
      
      &:hover:not(.is-active):not(.is-disabled) {
        color: var(--primary-color);
        border-color: var(--primary-color);
      }
    }
    
    .btn-prev,
    .btn-next {
      border: 1px solid #4c4d4f;
      border-radius: 2px;
    }
    
    .btn-prev:disabled,
    .btn-next:disabled,
    .el-pager li.is-disabled {
      background-color: #2c2c2c;
      border-color: #4c4d4f;
      color: #6c6c6c;
    }
    
    .el-pagination__editor.el-input .el-input__wrapper {
      background-color: #1f1f1f !important;
      box-shadow: 0 0 0 1px #4c4d4f inset !important;
    }
  }
  
  /* 对话框 */
  .el-dialog {
    background-color: #1a1a1a;
    
    .el-dialog__title {
      color: #e5eaf3;
    }
    
    .el-dialog__headerbtn:hover .el-dialog__close {
      color: var(--primary-color);
    }
  }
  
  /* 表单项 */
  .el-form-item__label {
    color: #a3a6ad;
  }
  
  /* 选择器下拉面板 */
  .el-select__popper {
    background-color: #1a1a1a !important;
    border-color: #333 !important;
    
    .el-select-dropdown__item {
      color: #e5eaf3;
      
      &.hover, &:hover {
        background-color: #2a2a2a;
      }
      
      &.selected {
        color: var(--primary-color);
      }
    }
  }
}

/* 全局表格容器样式 */
.table-container {
  flex: 1;
  overflow: auto;
  margin-bottom: 15px;
  
  .el-button.is-link {
    margin: 0 5px;
    font-size: 14px;
  }
  
  .el-button--danger.is-link {
    color: var(--danger-color) !important;
  }
}

/* 对话框底部按钮样式 */
.dialog-footer {
  display: flex;
  justify-content: flex-end !important; /* 强制右对齐 */
  align-items: center;
  
  .el-button {
    min-width: 100px;
    margin: 0 10px;
  }
}

/* 表格主题色支持 */
.el-table {
  .el-table__header th.el-table__cell.is-leaf {
    background-color: #f5f7fa;
  }
  
  .el-table__row:hover > td.el-table__cell {
    background-color: rgba(var(--primary-color-rgb), 0.05) !important;
  }
  
  .el-table__fixed-right::before, 
  .el-table__fixed::before {
    background-color: #ebeef5;
  }
  
  .el-checkbox__input.is-checked .el-checkbox__inner,
  .el-checkbox__input.is-indeterminate .el-checkbox__inner {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
  }
  
  .el-table-column--selection .el-table__cell {
    .el-checkbox__inner {
      &:hover {
        border-color: var(--primary-color) !important;
      }
    }
  }
  
  /* 表格排序图标 */
  .sort-caret.ascending, 
  .sort-caret.descending {
    border-bottom-color: var(--primary-color) !important;
    border-top-color: var(--primary-color) !important;
  }
  
  /* 表格激活行 */
  .current-row > td.el-table__cell {
    background-color: rgba(var(--primary-color-rgb), 0.1) !important;
  }

  /* 表格中链接按钮的样式修复 */
  .cell {
    .el-button.is-link {
      /* 移除点击后的背景色 */
      &:focus, &:focus-visible, &:active {
        background-color: transparent !important;
        outline: none !important;
        box-shadow: none !important;
      }
      
      /* 确保悬停效果正常 */
      &:hover {
        background-color: rgba(var(--primary-color-rgb), 0.05) !important;
      }
    }
  }

  /* 表格中所有链接按钮的样式统一处理 */
  .el-button.is-text, 
  .el-button.is-link {
    /* 移除点击后的背景色和边框 */
    &:focus, &:focus-visible, &:active {
      background-color: transparent !important;
      border-color: transparent !important;
      outline: none !important;
      box-shadow: none !important;
    }
  }
}

/* 消息通知主题色支持 */
.el-message {
  &.el-message--primary {
    --el-message-bg-color: rgba(var(--primary-color-rgb), 0.1) !important;
    --el-message-border-color: rgba(var(--primary-color-rgb), 0.2) !important;
    --el-message-text-color: var(--primary-color) !important;
    
    .el-message__icon {
      color: var(--primary-color) !important;
    }
  }
}

/* 消息通知关闭按钮 */
.el-message .el-message__closeBtn:hover {
  color: var(--primary-color) !important;
}

/* 通知 Notification 主题色 */
.el-notification {
  .el-icon.is-primary {
    color: var(--primary-color) !important;
  }
  
  .el-notification__closeBtn:hover {
    color: var(--primary-color) !important;
  }
}

/* tooltip 提示框主题色支持 */
.el-tooltip__trigger:hover {
  color: var(--primary-color) !important;
}

/* 抽屉组件关闭按钮 */
.el-drawer__close-btn:hover {
  color: var(--primary-color) !important;
}

/* 对话框关闭按钮 */
.el-dialog__close:hover {
  color: var(--primary-color) !important;
}

/* 气泡确认框主题色 */
.el-popconfirm__action .el-button--primary {
  --el-button-bg-color: var(--primary-color) !important;
  --el-button-border-color: var(--primary-color) !important;
  --el-button-hover-bg-color: rgba(var(--primary-color-rgb), 0.8) !important;
  --el-button-hover-border-color: rgba(var(--primary-color-rgb), 0.8) !important;
  --el-button-active-bg-color: rgba(var(--primary-color-rgb), 0.9) !important;
  --el-button-active-border-color: rgba(var(--primary-color-rgb), 0.9) !important;
}

/* 文字链接主题色 */
.el-link.el-link--primary {
  color: var(--primary-color) !important;
  
  &:hover {
    color: rgba(var(--primary-color-rgb), 0.8) !important;
  }
  
  &.is-underline:hover:after {
    border-color: var(--primary-color) !important;
  }
}

/* 徽章(Badge)主题色 */
.el-badge.el-badge--primary .el-badge__content {
  background-color: var(--primary-color) !important;
}

/* 分页器样式 */

/* Popper弹出层主题色 */
.el-popper.is-light {
  .el-popper__arrow::before {
    border-color: transparent !important;
  }
  
  .el-select-dropdown__item.selected::after {
    color: var(--primary-color) !important;
  }
}

/* 自定义下拉菜单颜色 */
.el-dropdown-menu {
  .el-dropdown-menu__item:not(.is-disabled):focus,
  .el-dropdown-menu__item:not(.is-disabled):hover {
    background-color: rgba(var(--primary-color-rgb), 0.1) !important;
    color: var(--primary-color) !important;
  }
  
  .el-dropdown-menu__item.is-active {
    background-color: rgba(var(--primary-color-rgb), 0.1) !important;
    color: var(--primary-color) !important;
  }
}

/* 下拉选择器箭头 */
.el-select .el-input.is-focus .el-input__wrapper .el-select__caret {
  transform: rotate(180deg);
  color: var(--primary-color) !important;
}

.el-select .el-input__wrapper.is-focus .el-input__inner {
  color: var(--primary-color) !important;
}

/* 表单验证状态 */
.el-form-item.is-success .el-input__wrapper {
  box-shadow: 0 0 0 1px var(--success-color) inset !important;
}

.el-form-item.is-error .el-input__wrapper {
  box-shadow: 0 0 0 1px var(--danger-color) inset !important;
}

/* 确保选择器的下拉面板中选中项的背景色和文字色跟随主题 */
.el-select-dropdown__item.selected {
  background-color: rgba(var(--primary-color-rgb), 0.1) !important;
  color: var(--primary-color) !important;
}

/* 弹性布局组件 */
.el-space__item {
  .el-button {
    &.is-text {
      color: var(--text-color);
    }
    
    &.is-text.el-button--primary {
      color: var(--primary-color) !important;
    }
  }
}

/* 穿梭框搜索输入框 */
.el-transfer-panel .el-input.is-focus .el-input__wrapper {
  box-shadow: 0 0 0 1px var(--primary-color) inset !important;
} 